漏洞扫描器是如何工作的
漏洞扫描器是一种自动化工具,允许组织检查他们的网络、系统和应用程序是否存在可能使他们受到攻击的安全漏洞。漏洞扫描是跨企业网络的常见做法,行业标准和政府法规通常要求进行漏洞扫描,以改善组织的安全状况。
外部和内部漏洞扫描工作
漏洞扫描可以从外部或内部网络或正在评估的网段执行。组织可以从其网络外围运行外部扫描,以确定可直接从 Internet 访问的服务器和应用程序的攻击风险。同时,内部漏洞扫描旨在识别黑客可以利用的漏洞,如果他们获得对本地网络的访问权限,就可以横向移动到不同的系统和服务器。
访问内部网络部分的难易程度取决于网络的配置方式,更重要的是,网络的分段方式。因此,任何漏洞管理程序都应该从组织系统的映射和清单开始,并根据它们提供的访问权限和持有的数据对其重要性进行分类。
经过身份验证和未经身份验证的漏洞扫描工作
漏洞扫描可以是经过身份验证的和未经身份验证的,也可以是有凭据的和无凭据的。无凭据扫描发现计算机上通过网络打开的服务并在其开放端口上发送数据包以确定操作系统的版本、这些服务背后的软件版本、是否有打开的文件共享以及其他无需身份验证即可获得的信息。根据这些详细信息,扫描程序搜索漏洞数据库并列出这些系统上可能存在的漏洞。
经过身份验证的扫描使用登录凭据来收集有关操作系统和安装在扫描机器上的软件的更详细和准确的信息。某些程序可能无法通过网络访问,但仍可能存在暴露给其他攻击媒介的漏洞,例如打开恶意制作的文件或访问恶意网页。一些漏洞评估解决方案除了使用网络扫描器外,还使用部署在计算机上的轻量级软件代理,以更好地了解组织中各种系统的安全状态。
虽然经过身份验证的扫描收集了更好的信息,因此可以比未经身份验证的扫描发现更多的漏洞,但漏洞扫描通常会产生一些误报结果。这是因为可能存在已通过各种变通方法或安全控制缓解的漏洞,而无需安装补丁和更新受影响的应用程序版本。
在某些情况下,漏洞扫描会导致网络拥塞或减慢系统速度,这就是为什么它们经常在不太可能造成中断的正常工作时间之外执行。
安全团队需要对扫描器识别的漏洞进行审查、分类和调查,而且很多时候漏洞扫描器是旨在协助整个漏洞管理过程的大型解决方案的一部分。
Web 应用程序漏洞扫描工作
Web 应用程序漏洞扫描器是专门的工具,可以发现网站和其他基于 Web 的应用程序中的漏洞。虽然网络漏洞扫描器扫描 Web 服务器本身,包括其操作系统、Web 服务器守护程序和各种其他开放服务,例如运行在同一系统上的数据库服务,但 Web 应用程序扫描器专注于应用程序的代码。
与使用已知漏洞和错误配置数据库的网络漏洞扫描器不同,Web 应用程序扫描器会查找常见类型的 Web 漏洞,例如跨站点脚本 (XSS)、SQL 注入、命令注入和路径遍历。因此,他们可以找到以前未知的漏洞,这些漏洞可能是测试应用程序独有的。这也称为动态应用程序安全测试 (DAST),通常由渗透测试人员使用。
Web 应用程序扫描器与静态应用程序安全测试 (SAST) 工具一起使用,这些工具在开发阶段分析 Web 应用程序的实际源代码,作为安全开发生命周期 (SDLC) 的一部分。开放式 Web 应用程序安全项目 (OWASP) 维护了DAST和SAST工具的列表,并为它们运行了一个基准测试项目。
根据它们的配置方式,外部 Web 应用程序漏洞扫描可能会产生大量流量,这可能会使服务器过载并导致拒绝服务和其他问题。因此,漏洞测试通过所谓的交互式应用程序安全测试 (IAST) 工具集成到 DevOps 和 QA 流程中是很常见的,这些工具是 SAST 和 DAST 的补充。这有助于在应用程序投入生产之前识别漏洞和不安全的配置。